#define FILE_NAME "myfifo"
#include<sys/wait.h>
#include<stdlib.h>
#include"com.h"

int main()
{
  if(mkfifo(FILE_NAME,0644)<0)
  {
    perror("mkfifo");
    return 1;
  }
  //创建管道成功,在默认路径下生成
  int fd=open(FILE_NAME,O_RDONLY);
  if(fd<0)
  {
    perror(" open error\n");
    return 2;
  }
  char s[100];
  while(1)
  {
    s[0]=0;//清空字符串
     ssize_t n=read(fd,s,sizeof(s)-1);
    if(n>0)
    {
      s[n]=0;
      if(fork()==0)
      {
        //子进程
        //执行谁 怎么执行
        execlp(s,s,NULL);
        exit(1);
      }
      waitpid(-1,NULL,0);//任意一个子进程退出就
    }
    else if(n==0)
    {
      printf("client quit\n");
      break;
    }
    else 
    {
      printf("read error!\n");
      break;
    }

  }
  close(fd);
  return 0;
}
